Graphical User Interface for Travel Planning System

ABSTRACT

A user interface for presenting travel itineraries to a user includes a first field to render a representation of a first segment of the itinerary including a location of departure and a location of arrival for the first segment, and a second field to render a text-based alert that includes notification information of the first segment of the itinerary, wherein the text-based alert is emphasized to bring the text-based alert to the attention of the user.

This application is a continuation of and claims the benefit of priority to U.S. patent application Ser. No. 11,845,913, filed on Aug. 28, 2007, which is a continuation of U.S. patent application Ser. No. 09/704,218, filed Nov. 1, 2000, now U.S. Pat. No. 7,263,664, which claims the benefit of priority to U.S. Provisional Application Ser. No. 60/162,874, filed Nov. 1, 1999, the contents of which are hereby incorporated by reference.

TECHNICAL FIELD

This invention relates to a graphical user interface for a travel planning system.

BACKGROUND

Travel planning systems may be used to search for itineraries that meet a set of criteria submitted, for example, by a potential traveler. The systems produce itineraries and prices by selecting suitable trips or flights from a database of travel carriers, geographic scheduling, and pricing information. Travel planning systems may be computer programs that automate part of the process of identifying the itineraries.

Travel planning systems may display a single list of possible travel itineraries. The traveler browses through the information in the list and compares the details of the different itineraries to select a preferred itinerary. Travelers may have difficulty comparing, discriminating, focusing or assimilating some of the details that are presented in the list.

Many travel systems display travel information on computer systems. Certain travel planning systems may be accessible from remote computer clients over a network, such as the Internet or an Intranet, using a browser such as a web browser. In such travel planning systems, the itineraries may be formatted in a tag-based format, such as HyperText Markup Language (HTML), or eXtensible Markup Language (XML). The itineraries may include links, such as “hyperlinks” or “xlinks”, which cause a browser to display a particular set of data.

SUMMARY

According to a first aspect of the invention, an interface for presenting travel itineraries to a user includes an itinerary region for displaying travel itineraries and a filter region. Each travel itinerary has a corresponding value for a first travel criterion and the travel itineraries are grouped into categories based on the values of the first travel criterion. The filter region includes a plurality of cells, each of which is associated with one of the categories of travel itineraries. When a user selects a cell, for example, by using a mouse pointer to click on the cell, the itinerary region displays only travel itineraries in the category associated with the selected cell.

In certain embodiments of the first aspect of the invention, each travel itinerary has a corresponding value for a second different travel criterion and the travel itineraries are also grouped into the categories based on the value of the second travel criterion. The cells are arranged in rows and columns. Cells associated with categories having the same value for the first travel criterion are positioned in the same row, while cells associated with categories having the same value for the second travel criterion are positioned in the same column.

According to a second aspect of the invention, an article includes a machine-readable medium that stores machine-executable instructions. The instructions are operable to cause a machine to generate the user interface of the first aspect of the invention.

According to a third aspect of the invention, a user interface for presenting an itinerary to a user includes a first display of a first segment of the itinerary, such as a travel segment or a layover, and a second display of a subsequent segment of the itinerary. Each of the first display and the second display includes a location of departure and a location of arrival for the corresponding segment of the itinerary. The location of arrival for the first segment is different from the location of departure for the subsequent segment and the first display and the second display are emphasized to indicate to the user that the itinerary has a different location of arrival for the first segment from the location of departure for the subsequent segment. The displays may be emphasized, for example, using italics, font size, font type, bold face font, print color, and background color.

According to a fourth aspect of the invention, a user interface for presenting an itinerary to user includes a display of a segment, such as a travel segment or a layover, of the itinerary. The display includes a location of departure and a location of arrival for the first segment, a duration for the first segment, and at least one of a departure time and an arrival time.

According to a fifth aspect of the invention, a user interface for presenting an itinerary to user, includes a display of a segment of the itinerary and a text-based alert associated with the first segment. The text-based alert is emphasized to bring it to the attention of the user.

Among other advantages of the invention, the filter region allows a user to easily filter a certain category of travel itineraries that the user may be interested in without necessarily having to comb through the list of itineraries. The emphasis and the text-based alerts point out information that is likely to interest the user. Thus the invention provides an efficient way to present travel information to the user, making the users experience more productive pleasurable and effective.

The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram of a client server travel planning system particularly operable over a network such as the Internet.

FIG. 2 is a diagram of a query screen for a graphical user interface implemented as a web page from a web browser.

FIGS. 3-5 are diagrams of web pages depicting results of executing a query for a round trip based on information entered through the query screen of FIG. 2.

FIG. 6 is a flow chart of the process for generating the web pages of FIGS. 3-5.

FIGS. 7 and 8 are diagrams of web pages depicting details of travel options provided in the web pages of FIGS. 3-5.

DETAILED DESCRIPTION

Referring to FIG. 1, a travel planning system 10 can be used to search for travel and pricing information associated with various forms of travel such as airline, bus and railroad and is particularly adapted for air travel. As will be described below, users at client computers 30 use a client process 36, such as a web browser, to submit queries requesting information to the server 12 over a network 22, such as the Internet or an intranet. The server 12 retrieves travel and pricing information corresponding to the query and transmits the information to the client computer 32. A client process 36, such as a web browser, on the client computer 30 displays the transmitted information in a graphical user interface 41 on a display 40 associated with client computer 32. The graphical user interface 40 may, for example, include a series of web pages presented to the user on the web browser 36.

Server computer 12 has a processor 13 for executing computer programs stored within storage subsystem 14. Storage subsystem 14 may include a memory, hard disk, cdrom disk, or a floppy disk. The computer programs include a web server 17 for sending web pages and receiving requests from the network 22. The computer programs also include a server process 15 that has a scheduling process 16 that determines itineraries associated with a query from a client computer and a faring process 18 that determines faring information associated with the itineraries. An example of a scheduler process 16 is described in copending U.S. patent application Ser. No. 09/109,622, entitled “Scheduler System for Travel Planning Systems”, filed on Jul. 2, 1998 by Carl-G. DeMarcken et al. and assigned to the assignee of the present invention and incorporated herein by reference. Also an example of a faring process 18 is described in copending U.S. patent application Ser. No. 09/109,873, entitled “Graphical User Interface for Travel Planning System”, filed on Jul. 2, 1998 by Carl G. DeMarcken et al and also assigned to the assignee of the present invention and incorporated herein by reference.

Referring also to FIG. 2, web browser 36 displays a web page 50 to a user to allow the user to submit a query to the server 12. The web page 50 includes a query table 52 having tabs 54 a-54 c associated with different the types of itineraries that the user is interested in. For example the first tab 54 a is associated with one-way itineraries, the second tab 54 b is associated with round trip itineraries and the third tab 54 c is associated with multi-segment itineraries. To display a query input interface 55 for a certain kind of travel itinerary, the user selects the tab corresponding to the kind of itinerary, for example, by using a mouse pointer associated with the client computer 32 to click on the tab 54. The tabs 54 may be links, such as hyperlinks or xlinks, that cause the browser 36 to load the desired query input interface 55. FIG. 2 shows a query input interface 55 for a round trip itinerary.

The query input interface 55 includes a section 56 for entering flight information such as a location of departure 56 a, a departure time 56 b, a location of arrival 56 c and a time of arrival 56 d. The query input interface 55 also includes a section 58 for selecting flight saving options. For example, a user may use inputs 58 a, 58 b to cause the server to search for cheaper flights in airports close to the desired departure and arrival airports. A user may also use inputs 58 b, 58 d to allow the server 12 to search for cheaper flights on alternate travel dates. The query input interface further includes a section 60 to select such passenger information as the number of passengers traveling and the number of those passengers that are seniors, infants or children. The user may check input 61 to cause the server 12 to only provide travel itineraries associated with flights that have available seats. The user submits a query to the server 12 by clicking on the submission button 62, causing the server to send travel and pricing information to the client 30. The travel information is displayed in a user interface described below with reference to FIG. 3.

Referring to FIG. 3, a web page 70 for displaying travel and pricing information includes an itinerary region 72 that displays displaying different itinerary choices and a filter region 74 for selecting the itinerary choices that are to be displayed in the itinerary region 72. The itinerary region 72 and the filter region 74 may be different HTML frames of the web page 70. The itinerary region displays a separate itinerary 72 a in each row of the itinerary region 72. Each itinerary is displayed along with corresponding values for a series of travel criterion that a user might use to identify a preferred itinerary. For example, each itinerary is displayed along with a cost of travel 76 a, an airline carrier that provides the flights 76 b, destination and arrival airports 76 c, the number of stops on the itinerary 76 d, the travel date 76 e and time 76 f, the duration of each segment of the flight 76 g, and the class of travel 76 h. A user may also display more information about an itinerary 72 a by clicking on a “details” link 76 k associated with the itinerary. The details link 76 k may be a link, such as a hyperlink or an xlink, that causes the browser 36 to load a web page containing the details of the itinerary, as shown in FIGS. 8 and 9.

The filter region includes tabs 78 a, 78 b, 78 c that a user may select to display itineraries based on a criterion associated with the tab. For example tab 78 a allows the user to select the itineraries 72 a displayed in the itinerary region 72 based on the airline that provides the flights, tab 78 b allows the user to select itineraries based on the flight times, and tab 78 c allows the user to select the itineraries based on the airports. Upon selecting one of the tabs, for example, by using a mouse pointer to click on the tab, a filtering table 80 is displayed in the filter region. For example, FIG. 3 shows an airline-filtering table 80 a that is displayed when a user clicks the first tab 78 a. The tabs 78 may be links that cause the browser 36 (FIG. 1) to load the desired filtering table 80.

Each filtering table 80 includes a series of cells 81 which are arranged in columns 82 and rows 83. The filtering table 80 groups the travel itineraries into categories based on certain travel criterion. For example, in the airline-filtering table 80 a, the itineraries 72 a are grouped into categories based on the airline 76 b providing the flights and the number of stops 76 d in the itinerary. Each category contains itineraries that have the same number of stops 76 d and are provided by the same airline 76 b. Certain cells 81 in table 80 a are associated with a specific category of travel itineraries. A user may cause the itinerary region 72 to only display travel itineraries 72 a associated with a category by selecting the cell 81 associated with the category, for example by using a mouse pointer to click on the cell 81. The cell 81 may be associated with a link that causes the browser 36 to load the relevant category of itineraries 72 a in the itinerary region 72. Thus the cells provide a convenient graphical way for a user to select a certain category of travel itineraries. Cells associated with categories that do not contain any itineraries may not be associated with a link.

In each filtering table 80 cells associated with categories of itineraries having the same value of one of the filtering criteria are arranged in the same row, while cells associated with the categories having the same value of the other filtering criteria are arranged in the same column. For example, in the filtering table 80 a, cells 81 associated with categories of itineraries provided by the same airline are arranged in the same column 82 and cells associated with categories of itineraries with the same number of stops are arranged in the same row 83. For instance, the column 82 b is associated with itineraries where the flights are provided by US Airways, while the row 83 a is associated with non-stop itineraries. To display non-stop itineraries provided by US Airways, the user would select the cell 81 b that is positioned at the intersection of column 82 b and row 83 a. Thus, the grid-like arrangement of the cells allows us user to quickly and conveniently display itineraries in which the user is interested.

Additionally, each cell 81 also displays information about the category of itineraries 72 a with which it is associated. For example, the cells in the filtering table 80 a display a minimum cost of travel associated with the itineraries in the category corresponding to the cell. For instance the cell 81 b, mentioned in the example above, displays the amount $127 to indicate to the user that the user should expect to pay at least $127 if he intends to fly non-stop on US Airways. If that amount is out of the user's price range, the user can look to other categories of flights. Thus, displaying additional information about the categories of itineraries in the cells 81 allows a user to more quickly and conveniently select itineraries that might be of interest.

Referring to FIG. 4, when the flight-times tab 74 b is selected, a filtering table 80 b is displayed in filtering region 74. Filtering table 80 b groups the itineraries 72 a into categories based on a departure time from the location of origin and a departure time from a destination of the itinerary. Each cell 92 a is associated with a category and a user may display itineraries associated with the category by selecting the cell. Cells 92 are arranged in rows 94 with each row containing cells that are associated with flights that have the same departure time from the point of origin (Boston). For example, row 94 a contains cells associated with flights departing Boston between midnight and 6 am on Sunday, October 15. The cells are also arranged in columns 96 with each column containing cells that are associated with flights that have the same departure time from the destination (New York). For example, column 96 a is contains cells associated with flights departing New York between 6 am and noon on Sunday, October 15.

Filter table 80 b also contains a column 98 containing row super-cells 100 a-100 d. Each row super-cell 100 is associated with a super-category containing all the itineraries associated with the categories of all the cells 92 in the same row as the row super-cell 100. For example, the row super-cell 100 a is associated with all itineraries that depart Boston between midnight and 6 am on Sunday, October 15, irrespective of the time that the itineraries depart New York. Table 80 b also includes a row 102 that contains column super-cells 104-104 c. Each column super-cell 104 is associated with a super-category containing all the itineraries associated with the categories of all the cells 92 in the same column as the super-cell 104. For example, the column super-cell 104 a is associated with all itineraries that depart New York between 6 am and noon on Sunday, October 15, irrespective of the time that the itineraries depart Boston. The super-cells 100, 104 allow a user to select a itineraries 72 a based only on one of the criteria (origin departure time and destination departure time) that is used to group the itineraries 72 a into categories.

Referring to FIG. 5, when the airport tab 78 c is selected, the airports filtering table 80 c is displayed in the filtering region 74. The filtering table 80 c groups the itineraries 72 a into categories based departure and arrival airports 76 c. Each cell 112 is associated with a category and a user may display itineraries associated with the category by selecting the cell 112. Cells 112 are arranged in rows 114 with each row containing cells that are associated with flights that have the same departure airport. In the Example of FIG. 5, there is only one row 114 because all the flights depart from Boston. The cells 112 are also arranged in columns 116 with each column containing cells 112 that have the same destination airport (New York). For example, column 116 a contains a cell 112 a associated with itineraries with a departing flight from JFK airport in New York, while column 116 b contains a cell 112 b associated with itineraries with a departing flight from La Guardia airport in New York.

Referring to FIG. 6, the process of displaying the travel data in the web page 60 of FIGS. 3-5 begins when the server 12 receives (600) a query from a user. The query may have been submitted from the web page 50 of FIG. 2. The scheduling process 16 of the server determines (602) travel data associated with the query. The server then determines (604) filtering criteria for grouping the itineraries into categories, for example, from a tab 78 a-78 c selected by the user on the web page 70 of FIGS. 3-5. Where a tab has not been selected, the server may select a default set of criteria. For example, in FIG. 3, the server 12 groups the itineraries based on airlines by default. The server 12 then identifies (606) the different categories that the travel itineraries will be grouped into based on values associated with the criteria.

The server 12 then selects (608) the first travel itinerary from the travel data and determines (610) a category that the travel itinerary should be grouped into based on the values of the filtering criteria for the itinerary. The server 12 then adds (612) the itinerary to the determined category and checks (614) if the itinerary is the last one in the travel data. If it is not the last one, the server 12, selects (616) the next itinerary in the travel data and performs the process (610-614) for the next itinerary. Otherwise, if there are no more itineraries the server terminates the process. The categorized data is provided to the client computer 30 for display as part of the graphical user interface 41.

Referring to FIG. 7, a travel itinerary 120 may have a first segment 120 a and a second segment 120 b. In a round trip itinerary, the second segment may be a return segment for the first segment. The second segment may also be a connecting flight to the passenger's destination. In the exemplary itinerary 120, the first segment 120 a departs from Logan airport (BOS) in Boston and arrives at La Guardia airport (LGA) in New York. However, the second segment departs from John F. Kennedy Airport (JFK) in New York. Consequently, the passenger would have to travel from the arrival airport of the first segment (LGA) to the departure airport of the second segment (JFK) by some other means besides flying to make a connection from the first segment to the second segment. This situation is referred to as a discontinuous flight connection.

The region 74 brings the user's attention to the discontinuity in itinerary 120 by, for example, emphasizing the airports LGA, JFK associated with the discontinuity. The server 12 is programmed to detect such discontinuities and may be configured to emphasize the airports LGA, JFK using italics, font size, font type, bold face font, print color, background color and so forth. For example, the airports LGA, JFK maybe emphasized by displaying them in red typeface while the rest of the display is displayed in normal black typeface.

Discontinuity in an itinerary may also occur between the starting airport and the ultimate destination in a return trip. For example, if a user would like a return trip from

Boston Mass. to New York and then back to Boston, a travel itinerary from Boston to New York and then to Worcester Mass. (a suburb of Boston) is discontinuous because the user must use another means of travel other than flying to get from Worcester to Boston.

As shown in FIG. 7, the graphical user interface 41 (FIG. 1) displays a web page 130 containing additional details 132 about a travel itinerary 72 a (FIG. 3) when the user clicks on the details link 76k (FIG. 3). Included in the additional details 132 is information 134 a-c about the flight that may be considered undesirable. For example, the information 134 a-c may be notification of a no-refundable ticket 134 a, or notification 134 b that the user would have to pay a fee to change the ticket. The information 134 may also include information 134 c about an unduly long layover or a short layover that would make it hard to make the connecting flight.

The information 134 a-c is emphasized to bring it to the user's notice and make it immediately identifiable. To indicate the undesirable nature of the information 134 a-c, it may be emphasized in a way that irritates the user. For example, the server 12 may be configured to present the undesirable information in red typeface or in capital letters. The same type of emphasis is used for the same kind of information 134 a-c to make the information immediately recognizable to the user. On the other hand, information that may not be considered undesirable might be emphasized in a more calming way. For example, it may be emphasized using green typeface or italics.

The web page 130 of FIG. 8 also shows the durations associated with the different segments of the itinerary, in addition to departure and arrival times of the segments. The segments of the itinerary may be flights 140 or layovers 142. The duration information allows a user to immediately know how long the segment will last while the arrival and departure time inform the user of the time when the segments will begin or end, making the itinerary easier to understand.

A number of embodiments of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. For example, the invention may be implemented in travel systems that do not communicate over the Internet or in interfaces that do not use web pages or web browsers.

Accordingly, other embodiments are within the scope of the following claims. 

What is claimed is:
 1. A user interface for presenting an itinerary to user, the user interface comprising: a first field to render a representation of a first segment of the itinerary including a location of departure and a location of arrival for the first segment; and a second field to render a text-based alert that includes notification information of the first segment of the itinerary, wherein the text-based alert is emphasized to bring the text-based alert to the attention of the user.
 2. The user interface of claim 1 wherein the text-based alert is emphasized by at least one of italics, font size, font type, bold face font, print color, and background color.
 3. The user interface of claim 11 wherein the text-based alert is a positive alert and the text-based alert is emphasized in a pleasant way.
 4. The user interface of claim 1 wherein the text-based alert is a negative alert and the text-based alert is emphasized in an agitating way.
 5. The user interface of claim 4 wherein the first segment is a layover segment and the text-based alert is selected from a group that includes notification of a short duration layover and a long duration layover.
 6. The user interface of claim 4 wherein the first segment is a travel segment and the text-based alert is selected from a group that includes notification of a non-refundable travel fare, fees for changing the travel segment, overnight travel, and unknown seat availability.
 7. An article comprising a non-transitory machine-readable medium which stores machine-executable instructions for generating a user interface for presenting a travel itinerary to a user, the instructions operable to cause a machine to generate a user interface comprising: a first field that renders a representation of a first segment of the itinerary, including a location of departure and a location of arrival for the first segment; and a second field that renders a text-based alert that includes notification information of the first segment of the itinerary, wherein the text-based alert is emphasized to bring the text-based alert to the attention of the user.
 8. The article of claim 7 wherein the text-based alert is emphasized by at least one of italics, font size, font type, bold face font, print color, and background color.
 9. The article of claim 7 wherein the text-based alert is a positive alert and the text-based alert is emphasized in a pleasant way.
 10. The article of claim 7 wherein the text-based alert is a negative alert and the text-based alert is emphasized in an agitating way.
 11. The article of claim 10 wherein the first segment is a layover segment and the text-based alert is selected from a group that includes notification of a short duration layover and a long duration layover.
 12. The article of claim 10 wherein the first segment is a travel segment and the text-based alert is selected from a group that includes notification of a non-refundable travel fare, fees for changing the travel segment, overnight travel, and unknown seat availability.
 13. A computer-implemented method of rendering a user interface for presenting travel itineraries to a user, comprising: providing, using at least one computer processor, instructions to render an itinerary region for displaying travel itineraries, each travel itinerary having a corresponding value for a first travel criterion, the travel itineraries being grouped into a first set of categories based on a value of the first travel criterion; providing, using at least one computer processor, instructions to render a first field in the itinerary region to render a representation of a first segment of an itinerary including a location of departure and a location of arrival for the first segment; and providing, using at least one computer processor, instructions to render a second field in the itinerary region to render a text-based alert that includes notification information of the first segment of the itinerary, wherein the text-based alert is emphasized to bring the text-based alert to the attention of the user.
 14. The method of claim 13, further comprising: providing, using at least one computer processor, instructions to render a filter region including a plurality of cells, each cell associated with one of the first set of categories, the plurality of cells being controls that when a user selects one of the plurality of cells, the itinerary region displays only travel itineraries in the one of the first set of categories associated with the selected cell.
 15. The method of claim 13, further comprising: providing, using at least one computer processor, instructions to render a text-based alert that is emphasized by at least one of italics, font size, font type, bold face font, print color, and background color.
 16. The method of claim 13, further comprising: providing, using at least one computer processor, instructions to render the text-based alert as a positive alert emphasized in a pleasant way.
 17. The method of claim 13, further comprising: providing, using at least one computer processor, instructions to render the text-based alert as a negative alert emphasized in an agitating way.
 18. The method of claim 13, further comprising: providing, using at least one computer processor, instructions to render the first segment as a layover segment and the text-based alert as an alert selected from a group that includes notification of a short duration layover and a long duration layover.
 19. The method of claim 13, further comprising: providing, using at least one computer processor, instructions to render the first segment as a travel segment and the text-based alert as an alert selected from a group that includes notification of a non-refundable travel fare, fees for changing the travel segment, overnight travel, and unknown seat availability.
 20. The method of claim 14, further comprising: providing, using at least one computer processor, instructions to render the first segment as a travel segment and the text-based alert as an alert selected from a group that includes notification of a non-refundable travel fare, fees for changing the travel segment, overnight travel, and unknown seat availability. 